# 交易拥挤度指标 来自月风微博https://weibo.com/1670659923/KDS9JEXpz，原文摘抄如下：
# 换手率高昂的时候，往往是市场变盘的特征，但是从结果上（行情启动、上涨下跌中继、行情结束）都有可能，那怎么去更好的逼近或者利用呢？
# 结果大家发现了一个很有效的指标：当A前5%个股的交易拥挤度，达到45%以上的时候，这时这个指向可上可下的指标，突然就变成了强见顶指标，在15年6月、18年1月、21年2月，都非常有效。
# 什么意思，当那些啥也不懂的散户和基民，嗷嗷地冲进来买当前的最热门板块和最热门的基金经理，把当前的热点行情推到极致后，都是阶段性的大顶部。
# 当然，注意这种顶部是3年才出现一次的，注意频率，因为3年，恰好是那些最傻的人终于也憋不住要进场的心理崩溃周期。

import pandas as pd
from matplotlib import pyplot
from config import mysql_engine as engine

df=pd.read_sql('SELECT * FROM tushare.stock_daily where trade_date > "2020-01-01"', engine)

# 去掉北交所
shsz = df[~df.ts_code.str.endswith('BJ')]
# 每天的总成交额
cr=shsz[['trade_date', 'amount']].groupby('trade_date').sum()
# 要算很久
for d in cr.index:
    cr.loc[d, 'top200_amount'] = shsz[shsz['trade_date']==d].nlargest(200, 'amount').amount.sum()

cr['cr200']=cr.top200_amount/cr.amount
cr.cr200.plot()
pyplot.show()
